#pragma once
#include <iostream>
#include <opencv2/opencv.hpp>
//测试1920*1080 30fps相机输入源，从相机视频输入、h264编码、rtsp推流、pc端拉流显示，总耗时在270ms左右
class YourWriter {
public:
	//!用于初始化视频本地保存，仅调用一次
	/*!
		\param file_path:本地路径名称，如/tmp/output.mp4
		\param size:保存分辨率，如cv::size(1920，1080)
		\param fps:保存帧频
		\param use_h265:是否使用h265编码
		返回是否初始化成功
	*/
	bool setup(std::string file_path, cv::Size size, double fps, bool use_h265);
	//!判断保存通道是否已经打开
	bool isOpened();

	//!用于保存每一帧图像，在循环中被调用
	/*!
		\param image : 待保存的视频帧
	*/
	void write(cv::Mat image);
	//!释放资源
	void release();
};